package com.amigo.online.provider.video.service;


import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.amigo.online.common.core.response.Response;


@FeignClient(name = "amigo-online-provider-user")
public interface UserFeignService {

    @RequestMapping(value = "/user/token/{token}", method = RequestMethod.GET)
    public ResponseEntity<Response> getUserInfoByToken(@PathVariable("token") String token);

    @RequestMapping(value = "/user/info/{id}", method = RequestMethod.GET)
    public ResponseEntity<Response> getUserInfoById(@PathVariable("id") Long id);

    @RequestMapping(value = "/user/mongo", method = RequestMethod.GET)
    public ResponseEntity<Response> getUserInfoFromMongo(@RequestParam("ids") List<Long> ids);

    @RequestMapping(value = "/follow/my/connect/user", method = RequestMethod.GET)
    public ResponseEntity<Response> findFollowStateByUserIdAndUserIds(@RequestParam("id") Long id, @RequestParam("ids") List<Long> userIds);

    @RequestMapping(value = "/follow/my/concern/video/{page}/{size}", method = RequestMethod.GET)
    public ResponseEntity<Response> getMyConcernVideos(@PathVariable("page") Integer page, @PathVariable("size") Integer size);

    @RequestMapping(value = "/user/info/watermark/{id}", method = RequestMethod.GET)
    public ResponseEntity<Response> getVideoWaterMarkUserInfoById(@PathVariable("id") long userid);

    @RequestMapping(value = "/user/info/videoUserInfo/{id}", method = RequestMethod.GET)
    public ResponseEntity<Response> getVideoUserInfoById(@PathVariable("id") long userid);

    @RequestMapping(value = "/user/updateLoginTime", method = RequestMethod.POST)
    public ResponseEntity<Response> updateLastLoginTime();

}
